package demo9;

import java.util.Random;

/*
 * disturb
 * sort
 * 猴子排序
 */
public class MonkeyDemo {
    public static void main(String[] args) {
        int[] arr = {12,54,6,21};
        MonkeyDemo md = new MonkeyDemo();//实例化对象
        int[] ar = new int[0];//调用打乱的方法
        boolean b = false;//判断是否有序
        while (!b) {
            ar = md.disturb(arr);
            b = md.sort(ar);
        }
        System.out.println("猴子排序：");
        for(int i = 0;i<ar.length;i++) {//输出数组中元素
            System.out.println(ar[i]);
        }

    }
    int[] disturb(int[] arr) {//打乱 依靠索引
        Random sj = new Random();//实例化随机数对象
        for(int x = arr.length-1;x>0;x--) {
            int j = sj.nextInt(x);//随机生成 所要交换索引
            //发生交换
            int ed = arr[x];
            arr[x] = arr[j];//将该数组最后一个元素进行随机
            arr[j] = ed;
        }
        return arr;
    }
    boolean sort(int[] arr) {//从小到大排序
        for(int i = 0;i<arr.length-1;i++) {//判断不是有序的
            if(arr[i]>arr[i+1])return false;

        }
        return true;


    }
}

